<?php

namespace SisesporteAdmin\Form;

use \Zend\Form\Form,
    \Zend\Form\Element\Select,
    \Zend\Form\Element\Radio,
    \Zend\Form\ElesqCidadeViewment\File;
use SisesporteAdmin\Filter\AlunoFilter;

class AlunoForm extends Form {

    protected $entity;

    public function __construct($name = NULL, $entity) {
        parent::__construct('aluno');
        $this->entity = $entity;

        $this->setAttribute('method', 'post');
        $this->setInputFilter(new AlunoFilter());

        $this->add(array(
            'name' => 'noPessoa',
            'options' => array(
                'type' => 'text',
                'label' => 'Nome do Aluno*:'
            ),
            'attributes' => array(
                'id' => 'noPessoa',
                'class' => 'input-xxlarge'
            )
        ));

//        $this->add(array(
//	            'name' => 'noImagem',
//	            'attributes' => array(
//	                'type'  => 'file',
//	            ),
//	            'options' => array(
//	                'label' => 'Imagem: ',
//	            ),
//	        )); 
        $noImagem = new \Zend\Form\Element\File('noImagem');
        $noImagem->setLabel('Imagem:')
                ->setAttribute('id', 'noImagem')
                ->setName('noImagem');
        $this->add($noImagem);

        $this->add(array(
            'name' => 'dtNascimento',
            'options' => array(
                'type' => 'text',
                'label' => 'Data de Nascimento*:'
            ),
            'attributes' => array(
                'id' => 'dtNascimento',
                'class' => 'input-medium'
            )
        ));

        $this->add(array(
            'name' => 'nuIdade',
            'options' => array(
                'type' => 'text',
                'label' => 'Idade:'
            ),
            'attributes' => array(
                'id' => 'nuIdade',
                'class' => 'input-mini'
            )
        ));

        $this->add(array(
            'name' => 'nuCpf',
            'options' => array(
                'type' => 'text',
                'label' => 'CPF:'
            ),
            'attributes' => array(
                'id' => 'nuCpf',
                'class' => 'input-large'
            )
        ));

        $this->add(array(
            'name' => 'nuCertidaoNascimento',
            'options' => array(
                'type' => 'text',
                'label' => 'Certidão de Nascimento:'
            ),
            'attributes' => array(
                'id' => 'nuCertidaoNascimento',
                'class' => 'input-large'
            )
        ));

        $this->add(array(
            'name' => 'nuIdentidade',
            'options' => array(
                'type' => 'text',
                'label' => 'Identidade*:'
            ),
            'attributes' => array(
                'id' => 'nuIdentidade',
                'class' => 'input-medium'
            )
        ));

//        $orgaoExpedidor = new Select();
//        $orgaoExpedidor->setLabel("Orgão Expedidor*:")
//                ->setName("sqOrgaoExpIdentidade")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\OrgaoExpedidor'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($orgaoExpedidor);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqOrgaoExpIdentidade',
            'options' => array(
                'label' => 'Orgão Expedidor*:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\OrgaoExpedidor'),
            ),
            'attributes' => array(
                'id' => 'sqOrgaoExpIdentidade'
            )
        ));

//        $estadoCivil = new Select();
//        $estadoCivil->setLabel("Estado Civil*:")
//                ->setName("sqEstadoCivil")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\EstadoCivil'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($estadoCivil);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqEstadoCivil',
            'options' => array(
                'label' => 'Estado Civil*:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\EstadoCivil'),
            ),
            'attributes' => array(
                'id' => 'sqEstadoCivil'
            )
        ));


//        $ufDadosPessoais = new Select();
//        $ufDadosPessoais->setLabel("UF*:")
//                ->setName("sqUfDadosPessoais")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\Uf'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($ufDadosPessoais);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqUfDadosPessoais',
            'options' => array(
                'label' => 'UF (Naturalidade)*:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\Uf'),
            ),
            'attributes' => array(
                'id' => 'sqUfDadosPessoais'
            )
        ));

//        $ufOrg = new Select();
//        $ufOrg->setLabel("UF:")
//                ->setName("sqUfOrgExpedidor")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\Uf'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE)
//                )
//                ->setAttributes(array('class' => 'input-medium'));
//        $this->add($ufOrg);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqUfOrgExpedidor',
            'options' => array(
                'label' => 'UF*:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\Uf'),
            ),
            'attributes' => array(
                'id' => 'sqUfOrgExpedidor'
            )
        ));

//        $ufDadosContato = new Select();
//        $ufDadosContato->setLabel("UF*:")
//                ->setName("sqUfDadosContato")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\Uf'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($ufDadosContato);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqUfDadosContato',
            'options' => array(
                'label' => 'UF*:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\Uf'),
            ),
            'attributes' => array(
                'id' => 'sqUfDadosContato'
            )
        ));

//        $cidadeDadosPessoais = new Select();
//        $cidadeDadosPessoais->setLabel("Cidade:")
//                ->setName("sqCidadeDadosPessoais")
//                ->setOptions(array('empty_option' => '-- Selecione uma UF --',
//                    'haystack' => FALSE));
//        $this->add($cidadeDadosPessoais);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqCidadeDadosPessoais',
            'options' => array(
                'label' => 'Cidade (Naturalidade)*:',
                'empty_option' => '-- Selecione uma UF --',
            ),
            'attributes' => array(
                'id' => 'sqCidadeDadosPessoais'
            )
        ));

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqCidadeView',
            'options' => array(
                'label' => 'Cidade:',
                'value_options' => $this->getResultArray('Sisesporte\Entity\Cidade'),
            ),
            'attributes' => array(
                'id' => 'sqCidadeDadosPessoais'
            )
        ));

//        $cidadeDadosContato = new Select();
//        $cidadeDadosContato->setLabel("Cidade:")
//                ->setName("sqCidadeDadosContato")
//                ->setOptions(array('empty_option' => '-- Selecione uma UF --',
//                    'haystack' => FALSE));
//        $this->add($cidadeDadosContato);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqCidadeDadosContato',
            'options' => array(
                'label' => 'Cidade:',
                'empty_option' => '-- Selecione uma UF --',
            ),
            'attributes' => array(
                'id' => 'sqCidadeDadosContato'
            )
        ));

//        $parentesco = new Select();
//        $parentesco->setLabel("Grau de Parentesco*:")
//                ->setName("sqParentesco")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\Parentesco'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($parentesco);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqParentesco',
            'options' => array(
                'label' => 'Grau de Parentesco*:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\Parentesco'),
            ),
            'attributes' => array(
                'id' => 'sqParentesco'
            )
        ));

//        $parentescoR = new Select();
//        $parentescoR->setLabel("Grau de Parentesco*:")
//                ->setName("sqParentescoR")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\Parentesco'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($parentescoR);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqParentescoR',
            'options' => array(
                'label' => 'Grau de Parentesco*:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\Parentesco'),
            ),
            'attributes' => array(
                'id' => 'sqParentescoR'
            )
        ));


        $this->add(array(
            'name' => 'noMae',
            'options' => array(
                'type' => 'text',
                'label' => 'Nome da mãe*:'
            ),
            'attributes' => array(
                'id' => 'noMae',
                'class' => 'input-xxlarge'
            )
        ));

        $this->add(array(
            'name' => 'noTelefoneMae',
            'options' => array(
                'type' => 'text',
                'label' => 'Telefone Fixo:'
            ),
            'attributes' => array(
                'id' => 'noTelefoneMae',
                'class' => 'input-large'
            )
        ));

        $this->add(array(
            'name' => 'noPai',
            'options' => array(
                'type' => 'text',
                'label' => 'Nome do Pai:'
            ),
            'attributes' => array(
                'id' => 'noPai',
                'class' => 'input-xxlarge'
            )
        ));

        $this->add(array(
            'name' => 'noTelefonePai',
            'options' => array(
                'type' => 'text',
                'label' => 'Telefone Fixo:'
            ),
            'attributes' => array(
                'id' => 'noTelefonePai',
                'class' => 'input-large'
            )
        ));

        $this->add(array(
            'name' => 'nuCep',
            'options' => array(
                'type' => 'text',
                'label' => 'CEP*:'
            ),
            'attributes' => array(
                'id' => 'nuCep',
                'class' => 'input-medium'
            )
        ));

        $this->add(array(
            'name' => 'noEndereco',
            'options' => array(
                'type' => 'text',
                'label' => 'Endereço*:'
            ),
            'attributes' => array(
                'id' => 'noEndereco',
                'class' => 'input-xxlarge'
            )
        ));

        $this->add(array(
            'name' => 'noComplemento',
            'options' => array(
                'type' => 'text',
                'label' => 'Complemento:'
            ),
            'attributes' => array(
                'id' => 'noComplemento',
                'class' => 'input-large'
            )
        ));

        $this->add(array(
            'name' => 'noBairro',
            'options' => array(
                'type' => 'text',
                'label' => 'Bairro:'
            ),
            'attributes' => array(
                'id' => 'noBairro',
                'class' => 'input-large'
            )
        ));

        $this->add(array(
            'name' => 'noTelefoneFixo',
            'options' => array(
                'type' => 'text',
                'label' => 'Telefone Fixo*:'
            ),
            'attributes' => array(
                'id' => 'noTelefoneFixo',
                'class' => 'input-large'
            )
        ));

        $this->add(array(
            'name' => 'noTelefoneMovel',
            'options' => array(
                'type' => 'text',
                'label' => 'Telefone Móvel:'
            ),
            'attributes' => array(
                'id' => 'noTelefoneMovel',
                'class' => 'input-large'
            )
        ));

        $sexo = new Radio('inSexo');
        $sexo->setLabel("Sexo*: ")
                ->setName('inSexo')
                ->setAttributes(array('separator' => '&nbsp;&nbsp;'))
                ->setValueOptions(array(
                    'M' => 'Masculino',
                    'F' => 'Feminino',
                        )
        );
//        $this->add($estuda);
//        
//        $sexo = new Radio('inSexo');
//        $sexo->setName('inSexo')
//                ->setValueOptions(array(
//                    'M' => 'Masculino',
//                    'F' => 'Feminino',
//                ));
////        $sexo->setLabelAttributes(array('class' => 'span4'));

        $this->add($sexo);

        $this->add(array(
            'name' => 'noEmail',
            'options' => array(
                'type' => 'email',
                'label' => 'E-mail*:'
            ),
            'attributes' => array(
                'id' => 'noEmail',
                'class' => 'input-xxlarge'
            )
        ));

        $this->add(array(
            'name' => 'noConfirmaEmail',
            'options' => array(
                'type' => 'email',
                'label' => 'Confirmar E-mail*:'
            ),
            'attributes' => array(
                'id' => 'noConfirmaEmail',
                'class' => 'input-xxlarge'
            )
        ));

        $this->add(array(
            'name' => 'noResponsavel',
            'options' => array(
                'type' => 'text',
                'label' => 'Nome do Responsável:'
            ),
            'attributes' => array(
                'id' => 'noResponsavel',
                'class' => 'input-xxlarge'
            )
        ));

        $this->add(array(
            'name' => 'noResponsavelR',
            'options' => array(
                'type' => 'text',
                'label' => 'Nome do Responsável:'
            ),
            'attributes' => array(
                'id' => 'noResponsavelR',
                'class' => 'input-xxlarge'
            )
        ));

        $this->add(array(
            'name' => 'noTelefone',
            'options' => array(
                'type' => 'text',
                'label' => 'Telefone:'
            ),
            'attributes' => array(
                'id' => 'noTelefone',
                'class' => 'input-medium'
            )
        ));

        $this->add(array(
            'name' => 'noTelefoneR',
            'options' => array(
                'type' => 'text',
                'label' => 'Telefone:'
            ),
            'attributes' => array(
                'id' => 'noTelefoneR',
                'class' => 'input-medium'
            )
        ));

        $estuda = new Radio('inEstuda');
        $estuda->setLabel("Estuda Atualmente?* ")
                ->setName('inEstuda')
                ->setAttributes(array('separator' => '&nbsp;&nbsp;'))
                ->setValueOptions(array(
                    TRUE => 'Sim',
                    FALSE => 'Não',
                        )
        );
        $this->add($estuda);

//        $escolaridade = new Select();
//        $escolaridade->setLabel("Grau de Escolaridade:")
//                ->setName("sqGrauEscolaridade")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\GrauEscolaridade'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($escolaridade);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqGrauEscolaridade',
            'options' => array(
                'label' => 'Grau de Escolaridade:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\GrauEscolaridade'),
            ),
            'attributes' => array(
                'id' => 'sqGrauEscolaridade'
            )
        ));

//        $this->add(array(
//            'name' => 'noInstituicaoEnsino',
//            'options' => array(
//                'type' => 'text',
//                'label' => 'Nome da Instituição:'
//            ),
//            'attributes' => array(
//                'id' => 'noInstituicaoEnsino',
//                'class' => 'input-xlarge'
//            )
//        ));
//        $noInstituicao = new Select();
//        $noInstituicao->setLabel("Nome da Instituição:")
//                ->setName("noInstituicaoEnsino")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\InstituicaoEnsino'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($noInstituicao);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'noInstituicaoEnsino',
            'options' => array(
                'label' => 'Nome da Instituição:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\InstituicaoEnsino'),
            ),
            'attributes' => array(
                'id' => 'noInstituicaoEnsino'
            )
        ));

//        $instituicao = new Select();
//        $instituicao->setLabel("Tipo de Instituição*:")
//                ->setName("inTipoEscola")
//                ->setOptions(array('value_options' =>
//                    array(
//                        '1' => 'Pública',
//                        '2' => 'Particular'),
//                    'empty_option' => '-- Selecione --')
//        );
//        $this->add($instituicao);


        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'inTipoEscola',
            'options' => array(
                'label' => 'Tipo de Instituição*:',
                'empty_option' => '-- Selecione --',
                'value_options' => array(
                    '1' => 'Pública',
                    '2' => 'Particular'),
            ),
            'attributes' => array(
                'id' => 'inTipoEscola'
            )
        ));

        $trabalha = new Radio('inTrabalha');
        $trabalha->setLabel("Trabalha Atualmente?*")
                ->setName('inTrabalha')
                ->setValueOptions(array(
                    true => 'Sim',
                    false => 'Não',
                        )
        );
        $this->add($trabalha);

//        $profissao = new Select();
//        $profissao->setLabel("Profissão*:")
//                ->setName("sqProfissao")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\Profissao'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($profissao);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqProfissao',
            'options' => array(
                'label' => 'Profissão*:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\Profissao'),
            ),
            'attributes' => array(
                'id' => 'sqProfissao'
            )
        ));

//        $renda = new Select();
//        $renda->setLabel("Renda Familiar*:")
//                ->setName("sqRendaFamiliar")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\RendaFamiliar'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($renda);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqRendaFamiliar',
            'options' => array(
                'label' => 'Renda Familiar*:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\RendaFamiliar'),
            ),
            'attributes' => array(
                'id' => 'sqRendaFamiliar'
            )
        ));

        $planoSaude = new Radio('inPlanoSaude');
        $planoSaude->setLabel("Possui Plano de Saúde?*")
                ->setName('inPlanoSaude')
                ->setValueOptions(array(
                    true => 'Sim',
                    false => 'Não',
                        )
        );
        $this->add($planoSaude);

//        $noPlano = new Select();
//        $noPlano->setLabel("Nome do Plano:")
//                ->setName("sqPlanoSaude")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\PlanoSaude'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($noPlano);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqPlanoSaude',
            'options' => array(
                'label' => 'Nome do Plano:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\PlanoSaude'),
            ),
            'attributes' => array(
                'id' => 'sqPlanoSaude'
            )
        ));

//        $tipoSanguineo = new Select();
//        $tipoSanguineo->setLabel("Tipo Sanguíneo*:")
//                ->setName("sqTipoSanguineo")
//                ->setOptions(array('value_options' => $this->getResultArray('Sisesporte\Entity\TipoSanguineo'),
//                    'empty_option' => '-- Selecione --',
//                    'haystack' => FALSE));
//        $this->add($tipoSanguineo);

        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'sqTipoSanguineo',
            'options' => array(
                'label' => 'Tipo Sanguíneo*:',
                'empty_option' => '-- Selecione --',
                'value_options' => $this->getResultArray('Sisesporte\Entity\TipoSanguineo'),
            ),
            'attributes' => array(
                'id' => 'sqTipoSanguineo'
            )
        ));

        $necessidadeEspecial = new Radio('inPortadorNecessidade');
        $necessidadeEspecial->setLabel("Portador de Nescessidade Especial?*")
                ->setName('inPortadorNecessidade')
                ->setValueOptions(array(
                    true => 'Sim',
                    false => 'Não',
                        )
        );
        $this->add($necessidadeEspecial);

        $remedio = new Radio('inRemedioControlado');
        $remedio->setLabel("Remédio Controlado?*")
                ->setName('inRemedioControlado')
                ->setValueOptions(array(
                    true => 'Sim',
                    false => 'Não',
                        )
        );
        $this->add($remedio);

        $this->add(array(
            'name' => 'deRemedioControlado',
            'options' => array(
                'type' => 'text',
                'label' => 'Descrição do Remédio:'
            ),
            'attributes' => array(
                'id' => 'deRemedioControlado',
                'class' => 'input-large'
            )
        ));

        $alergia = new Radio('inPossuiAlergia');
        $alergia->setLabel("Possui Alergia?*")
                ->setName('inPossuiAlergia')
                ->setValueOptions(array(
                    true => 'Sim',
                    false => 'Não',
                        )
        );
        $this->add($alergia);

        $this->add(array(
            'name' => 'deAlergia',
            'options' => array(
                'type' => 'text',
                'label' => 'Descrição da Alergia:'
            ),
            'attributes' => array(
                'id' => 'deAlergia',
                'class' => 'input-large'
            )
        ));

        $this->add(array(
            'type' => 'Zend\Form\Element\Hidden',
            'name' => 'coCadastro',
            'attributes' => array(
                'id' => 'coCadastro'
            )
        ));

        $this->add(array(
            'type' => 'Zend\Form\Element\Hidden',
            'name' => 'sqCidadeDadosPessoaisH',
            'attributes' => array(
                'id' => 'sqCidadeDadosPessoaisH'
            )
        ));

        $this->add(array(
            'type' => 'Zend\Form\Element\Hidden',
            'name' => 'txCaminhoFoto',
            'attributes' => array(
                'id' => 'TxCaminhoFoto'
            )
        ));

        $this->add(array(
            'type' => 'Zend\Form\Element\Hidden',
            'name' => 'sqCidadeDadosContatoH',
            'attributes' => array(
                'id' => 'sqCidadeDadosContatoH'
            )
        ));

        $this->add(array(
            'name' => 'submit',
            'type' => 'Zend\Form\Element\Submit',
            'attributes' => array(
                'value' => 'Salvar',
                'title' => 'Salvar',
                'class' => 'btn btn-primary pull-right'
            )
        ));
        
        $this->add(array(
            'name' => 'noLogin',
            'options' => array(
                'type' => 'text',
                'label' => 'Matrícula:'
            ),
            'attributes' => array(
                'id' => 'noLogin',
                'class' => 'input-large'
            )
        ));        
    }

    /*
     * @return array
     */

    protected function getResultArray($repository) {
        $repo = $this->entity->getRepository($repository);
        return $repo->fetchPairs();
    }

    public function setDefaultsFromEntity($obj) {

        date_default_timezone_set('America/Sao_Paulo');
        $utils = new \Sisesporte\Utils\Utils();

        $repoA = $this->entity->getRepository("Sisesporte\Entity\Aluno");
        $entityAluno = $repoA->find($obj->getSqPessoa());

        $repoT = $this->entity->getRepository("Sisesporte\Entity\Telefone");
        $entityTelefone = $repoT->findby(array('sqPessoa' => $obj->getSqPessoa()), NULL);

        $repoE = $this->entity->getRepository("Sisesporte\Entity\Endereco");
        $entityEndereco = $repoE->findby(array('sqPessoa' => $obj->getSqPessoa()), NULL);
        
        $repoC = $this->entity->getRepository("Sisesporte\Entity\Contato");
        $entityContato = $repoC->findby(array('sqPessoa' => $obj->getSqPessoa()), NULL);

        $repoCidade = $this->entity->getRepository("Sisesporte\Entity\Cidade");
        $entityCidade = $repoCidade->findby(array('sqCidade' => $entityEndereco[0]->getSqCidade()), NULL);

        $flagIE = ($entityAluno->getSqInstituicaoEnsino()) ? $entityAluno->getSqInstituicaoEnsino() : "";
        if ($flagIE) {
            $repoInstituicaoEnsino = $this->entity->getRepository("Sisesporte\Entity\InstituicaoEnsino");
            $entityInstituicaoEnsino = $repoInstituicaoEnsino->find($flagIE);
        }

        foreach ($entityTelefone as $telefone) {
            if ($telefone->getSqTipoTelefone()->getSqTipoTelefone() == '1') {
                $noTelefoneFixo = $telefone->getNoTelefone();
            }
            if ($telefone->getSqTipoTelefone()->getSqTipoTelefone() == '4') {
                $noTelefoneMovel = $telefone->getNoTelefone();
            }
        }

        foreach ($entityContato as $contato) {
            if ($contato->getSqParentesco()->getSqParentesco() == '1') {
                $noTelefonePai = $contato->getNoTelefone();
            }
            if ($contato->getSqParentesco()->getSqParentesco() == '2') {
                $noTelefoneMae = $contato->getNoTelefone();
            }
            if ($contato->getStTipoContato() == 'E') {
                $sqParentescoE = $contato->getSqParentesco()->getSqParentesco();
                $noResponsavelE = $contato->getNoContato();
                $noTelefoneE = $contato->getNoTelefone();
            }
            if ($contato->getStTipoContato() == 'R') {
                $sqParentescoR = $contato->getSqParentesco()->getSqParentesco();
                $noResponsavelR = $contato->getNoContato();
                $noTelefoneR = $contato->getNoTelefone();
            }
        }

        if ($flagIE) {
            $sqIntituicaoEnsino = ($entityAluno->getSqInstituicaoEnsino()->getSqInstituicaoEnsino()) ? $entityAluno->getSqInstituicaoEnsino()->getSqInstituicaoEnsino() : "";
            $inTipoEscola = ($entityInstituicaoEnsino->getInTipoEscola()) ? $entityInstituicaoEnsino->getInTipoEscola() : "";
            $sqRendaFamiliar = ($entityAluno->getSqRendaFamiliar()->getSqRendaFamiliar()) ? $entityAluno->getSqRendaFamiliar()->getSqRendaFamiliar() : "";
            $inPlanoSaude = ($entityAluno->getInPlanoSaude()) ? $entityAluno->getInPlanoSaude() : "";
            $sqPlanoSaude = ($entityAluno->getSqPlanoSaude()->getSqPlanoSaude()) ? $entityAluno->getSqPlanoSaude()->getSqPlanoSaude() : "";
            $sqTipoSanguineo = ($entityAluno->getSqTipoSanguineo()->getSqTipoSanguineo()) ? $entityAluno->getSqTipoSanguineo()->getSqTipoSanguineo() : "";
        }

        //$repoAluno = $this->entity->getRepository("Sisesporte\Entity\Aluno");
        //$entityMatricula = $repoAluno->findby(array('sqPessoa' => $obj->getCoCadastro()), NULL);

        $this->setData(array(
            'noPessoa' => $obj->getNoPessoa(),
            'sqPessoa' => $obj->getSqPessoa(),
            'txCaminhoFoto' => $obj->getTxCaminhoFoto(),
            'dtNascimento' => $obj->getDtNascimento(),
            'nuCpf' => $utils->formatarCpfCnpj($obj->getNuCpf(), TRUE),
            'nuCertidaoNascimento' => $obj->getNuCertidaoNascimento(),
            'nuIdentidade' => $obj->getNuIdentidade(),
            'sqOrgaoExpIdentidade' => $obj->getSqOrgaoExpIdentidade()->getSqOrgaoExpedidor(),
            'sqUfOrgExpedidor' => $obj->getSqUfOrgExpedidor()->getSqUf(),
            'inSexo' => $obj->getInSexo(),
            'sqEstadoCivil' => $obj->getSqEstadoCivil()->getSqEstadoCivil(),
            'sqUfDadosPessoais' => $obj->getSqUfNaturalidade()->getSqUf(),
            'sqCidadeDadosPessoais' => $obj->getSqCidadeNaturalidade()->getSqCidade(),
            'sqCidadeDadosPessoaisH' => $obj->getSqCidadeNaturalidade()->getSqCidade(),
            'noMae' => $obj->getNoMae(),
            'noPai' => $obj->getNoPai(),
            'noEmail' => $obj->getNoEmail(),
            'sqGrauEscolaridade' => $obj->getSqGrauEscolaridade()->getSqGrauEscolaridade(),
            'coCadastro' => $entityAluno->getCoCadastro(),
            'inEstuda' => $entityAluno->getInEstuda(),
            'noInstituicaoEnsino' => $sqIntituicaoEnsino,
            'inTipoEscola' => $inTipoEscola,
            'inTrabalha' => $entityAluno->getInTrabalha(),
            'sqProfissao' => $entityAluno->getSqProfissao()->getSqProfissao(),
            'sqRendaFamiliar' => $sqRendaFamiliar,
            'inPlanoSaude' => $inPlanoSaude,
            'sqPlanoSaude' => $sqPlanoSaude,
            'sqTipoSanguineo' => $sqTipoSanguineo,
            'inPortadorNecessidade' => $entityAluno->getInPortadorNecessidade(),
            'inPossuiAlergia' => $entityAluno->getInPossuiAlergia(),
            'deAlergia' => $entityAluno->getDeAlergia(),
            'inRemedioControlado' => $entityAluno->getInRemedioControlado(),
            'noTelefoneFixo' => $noTelefoneFixo,
            'noTelefoneMovel' => $noTelefoneMovel,
            'nuCep' => $entityEndereco[0]->getNuCep(),
            'noEndereco' => $entityEndereco[0]->getNoEndereco(),
            'noComplemento' => $entityEndereco[0]->getNoComplemento(),
            'noBairro' => $entityEndereco[0]->getNoBairro(),
            'sqCidadeDadosContato' => $entityEndereco[0]->getSqCidade()->getSqCidade(),
            'sqCidadeDadosContatoH' => $entityEndereco[0]->getSqCidade()->getSqCidade(),
            'sqUfDadosContato' => $entityCidade[0]->getSqUf(),
            'noTelefoneMae' => $noTelefoneMae,
            'noTelefonePai' => $noTelefonePai,
            'sqParentesco' => $sqParentescoE,
            'noResponsavel' => $noResponsavelE,
            'noTelefone' => $noTelefoneE,
            'sqParentescoR' => $sqParentescoR,
            'noResponsavelR' => $noResponsavelR,
            'noTelefoneR' => $noTelefoneR,
            //'coCadastro' => $entityMatricula[0]->getNoLogin(),
            
        ));
    }

}
